<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			/*
			函数作用域是一个小部分
				调用函数时创建函数作用域,函数执行完调用完毕时销毁
				没调用一次函数就会创建一个新的作用域,他们是相互独立的
				函数作用域中可以访问到全局作用域的变量
				在全局作用域中,无法访问到函数作用域的变量
				
			当在函数作用域中操作变量时,先会在在身作用域中寻找,本身作用域找不到,会去上一级作用域
			直到找到全局作用域,全局作用域中没有就报错
			
			就近原则.
			
			在函数中要访问全局变量可以使用window对象
				
			*/
			
			var a = 10;
			function fun(){
				var a = "我是函数中的a";
				//
				console.log(a);
			}
			function fun2(){
				
				console.log(window.a);
			}
			
			fun();
			fun2();
			
			function fun3(){
				
				
				console.log(a);
				
				var a = 123;//出现undefined的原因是变量声明提前但没有赋值
			}
			fun3();
			
			/*在函数中不用var声明就会成文全局变量*/
			var c = 33;
			function fun5(){
				console.log(c);
				c = 10;
			}
			fun5();
			
			console.log(c);
			
			
			/*形参相当于在函数作用域中声明了变量*/
			var e = 23;
			function fun6(e){
				alert(e);
			}
			fun6();
			
		</script>
	</body>
</html>
